package com.southminority.ethnic.service.course;

import com.southminority.ethnic.pojo.CourseMaterial;
import com.southminority.ethnic.controller.coures.vo.CourseMaterialVo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

/**
* @author ASHTR
* @description 针对表【course_material(课程资料表)】的数据库操作Service
* @createDate 2025-01-20 10:00:00
*/
public interface CourseMaterialService extends IService<CourseMaterial> {
    
    /**
     * 根据课程ID查询资料列表
     * @param courseId 课程ID
     * @return 资料列表
     */
    List<CourseMaterialVo> getMaterialsByCourseId(Long courseId);
    
    /**
     * 增加下载次数
     * @param materialId 资料ID
     * @return 是否成功
     */
    Boolean increaseDownloadCount(Long materialId);
    
    /**
     * 分页查询课程资料列表（带关键词搜索）
     * @param page 分页对象
     * @param keyword 搜索关键词
     * @return 分页结果
     */
    Page<CourseMaterial> getMaterialPageWithKeyword(Page<CourseMaterial> page, String keyword);
} 